function room1()
  local move = io.read()
  if move == "south" then return room3()
  elseif move == "east" then return room2()
  else
    print("invailid move")
    return room1()  -- stay in the same room
  end
end

function room2()
  local move = io.read()
  if move == "south" then return room4()
  elseif move == "west" then return room1()
  else
    print("invailid move")
    return room2()  
  end
end

function room3()
  local move = io.read()
  if move == "north" then return room1()
  elseif move == "east" then return room4()
  else
    print("invailid move")
    return room3()  
  end
end

function room4()
  print("congratulations!")
end

room1()